package com.mrjy.common.entity;

import java.math.BigDecimal;
import java.sql.Timestamp;

import com.mrjy.common.util.ExcelField;

/**
 * 推广明细 
 * @author csshui
 *
 */
public class PromoteDetail extends BaseEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5773998955794410106L;
	//paymentId是订单的id 是以订单为维度的,并且所有的记录是已经付完款的数据
	@ExcelField(title="序号")
	private Integer paymentId;
	@ExcelField(title="订单号")
	private String code; //订单号
	//支付的用户名
	@ExcelField(title="付费者")
	private String userName;
	//用户的手机号码
	@ExcelField(title="付费者手机号码")
	private String mobilePhone;
	//付款完成时间
	@ExcelField(title="付费时间")
	private Timestamp completeTime;
	//用户注册时间
	@ExcelField(title="注册时间")
	private Timestamp registerDate;
	//付款金额
	@ExcelField(title="价格(元)")
	private BigDecimal money;
	@ExcelField(title="推广者")
	private String recommendName;
	//推广码
	@ExcelField(title="推广码")
	private String recommendCode;
	//分成比例（分成资格）
	@ExcelField(title="资格")
	private Double sharingProportion;
	//分成金额
	@ExcelField(title="分成金额")
	private BigDecimal divideMoney;
	//结算状态(0:未结算；1:已结算)
	@ExcelField(title="结算")
	private String settleStatus;
	
	//支付的用户ID
	private Integer userId;
	
	//扫码时间
	private Timestamp scanCodeTime;
	/**
	 * 推广者id
	 */
	private Integer recommendId;
	//付款名目(365会员/1年，520会员/2年，导师课程包，话题课程包)
	private String costName;
	//付款名目类型id(0:365会员;1：课程包)
	private String costTypeId;
	//付款方式
	private String paymentMethod;
	//数据来源
	private String dataSources;
	//所属团队负责id
	private Integer belongId;
	//团队分成金额
	private BigDecimal teamDivideMoney;
	//推广人类型
	private String distributorType; 
	//推广类型  1-一级推广  2-二级推广  3-团队二级推广  4-团队一级推广（只有团队负责人才有该类型的推广）
	private String promoteType; 
	//二级推广人id
	private Integer secondPromoterId;
	
	//结算描述：线上结算，线下结算
	private String settleDesc;
	/**
	 * 推广记录生成的订单号（因为之前使用的订单表的code，但是由于二级推广，一个订单会生成两条推广记录，结算时会报商户订单号重复）
	 */
	private String proCode ;
	//运营中心id
	private Integer operationCenterId ;
	
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public Integer getPaymentId() {
		return paymentId;
	}
	public void setPaymentId(Integer paymentId) {
		this.paymentId = paymentId;
	}
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getMobilePhone() {
		return mobilePhone;
	}
	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}
	public Timestamp getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(Timestamp registerDate) {
		this.registerDate = registerDate;
	}
	
	public Timestamp getScanCodeTime() {
		return scanCodeTime;
	}
	public void setScanCodeTime(Timestamp scanCodeTime) {
		this.scanCodeTime = scanCodeTime;
	}
	public String getRecommendCode() {
		return recommendCode;
	}
	public void setRecommendCode(String recommendCode) {
		this.recommendCode = recommendCode;
	}
	public Integer getRecommendId() {
		return recommendId;
	}
	public void setRecommendId(Integer recommendId) {
		this.recommendId = recommendId;
	}
	public BigDecimal getDivideMoney() {
		return divideMoney;
	}
	public void setDivideMoney(BigDecimal divideMoney) {
		this.divideMoney = divideMoney;
	}
	public Double getSharingProportion() {
		return sharingProportion;
	}
	public void setSharingProportion(Double sharingProportion) {
		this.sharingProportion = sharingProportion;
	}
	public String getCostName() {
		return costName;
	}
	public void setCostName(String costName) {
		this.costName = costName;
	}
	public BigDecimal getMoney() {
		return money;
	}
	public void setMoney(BigDecimal money) {
		this.money = money;
	}
	public Timestamp getCompleteTime() {
		return completeTime;
	}
	public void setCompleteTime(Timestamp completeTime) {
		this.completeTime = completeTime;
	}
	public String getPaymentMethod() {
		return paymentMethod;
	}
	public void setPaymentMethod(String paymentMethod) {
		this.paymentMethod = paymentMethod;
	}
	public String getSettleStatus() {
		return settleStatus;
	}
	public void setSettleStatus(String settleStatus) {
		this.settleStatus = settleStatus;
	}
	public String getCostTypeId() {
		return costTypeId;
	}
	public void setCostTypeId(String costTypeId) {
		this.costTypeId = costTypeId;
	}

	public String getRecommendName() {
		return recommendName;
	}
	public void setRecommendName(String recommendName) {
		this.recommendName = recommendName;
	}
	public String getDataSources() {
		return dataSources;
	}
	public void setDataSources(String dataSources) {
		this.dataSources = dataSources;
	}
	public Integer getBelongId() {
		return belongId;
	}
	public void setBelongId(Integer belongId) {
		this.belongId = belongId;
	}
	public BigDecimal getTeamDivideMoney() {
		return teamDivideMoney;
	}
	public void setTeamDivideMoney(BigDecimal teamDivideMoney) {
		this.teamDivideMoney = teamDivideMoney;
	}
	public String getDistributorType() {
		return distributorType;
	}
	public void setDistributorType(String distributorType) {
		this.distributorType = distributorType;
	}
	public String getPromoteType() {
		return promoteType;
	}
	public void setPromoteType(String promoteType) {
		this.promoteType = promoteType;
	}
	public Integer getSecondPromoterId() {
		return secondPromoterId;
	}
	public void setSecondPromoterId(Integer secondPromoterId) {
		this.secondPromoterId = secondPromoterId;
	}
	public String getSettleDesc() {
		return settleDesc;
	}
	public void setSettleDesc(String settleDesc) {
		this.settleDesc = settleDesc;
	}
	public String getProCode() {
		return proCode;
	}
	public void setProCode(String proCode) {
		this.proCode = proCode;
	}
	public Integer getOperationCenterId() {
		return operationCenterId;
	}
	public void setOperationCenterId(Integer operationCenterId) {
		this.operationCenterId = operationCenterId;
	}
	
	
	
	
}
